package edu.pmfbl.mnr.sem.mcmatp.app;

/**
 * <p>Title: MCMA Test Preview</p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2009</p>
 *
 * <p>Company: KrndijaSoft</p>
 *
 * @author Ninoslav Krndija
 * @version 1.0
 */
public class Test
{
  private static Test test = null;
  private long ukupnoBodova = 0;
  private double osvojenoBodova = 0.0;
  protected boolean rjesavanjeTesta;

  /**
   * Vraca jedinstvenu instancu objekta Test za cijelu aplikaciju.
   *
   * @return instanca Test
   */
  public static Test getInstance()
  {
    if(test == null)
      test = new Test();

    return test;
  }

  public Test()
  {
    try
    {
      jbInit();
    }
    catch(Exception e)
    {
      e.printStackTrace();
    };
  }

  public void jbInit() throws Exception
  {
    rjesavanjeTesta = true;
  }

  public boolean getRjesavanjeTesta()
  {
    return rjesavanjeTesta;
  }

  public void setRjesavanjeTesta(boolean value)
  {
    rjesavanjeTesta = value;
  }

  public void povecajOsvojenoBodova(float inc)
  {
    osvojenoBodova = osvojenoBodova + inc;
  }

  public double getOsvojenoBodova()
  {
    return osvojenoBodova;
  }

  public void setOsvojenoBodova(double value)
  {
    osvojenoBodova = value;
  }

  public void povecajUkupnoBodova(long inc)
  {
    ukupnoBodova = ukupnoBodova + inc;
  }

  public long getUkupnoBodova()
  {
    return ukupnoBodova;
  }

  public void setUkupnoBodova(long value)
  {
    ukupnoBodova = value;
  }

  /**
   * Zaokruzuje decimalni broj value na scale decimala.
   *
   * @param value double
   * @param scale int
   * @return double
   */
  public static double round(double value, int scale)
  {
    double p = (double) Math.pow(10, scale);
    double a = (double) (5 * Math.pow(10, -(scale+1)));
    return (double) (int)((value + a) * p) / p;
  }
}
